game architecture